h1.Fiddler 활용
*참고
![]() |


*실습하기
권한 체크를 하는 스크립트를 피들러를 통해서 우회하는 방법 소개.
*실습하기
특정 도메인의 respose 값에서 지정한 문자열을 다른 문자열로 교체 시켜 동작이 되도록 하는 방법 소개
*실습하기
옵션을 활성화 시키지 않을경우
SSL은 암호화 되어 있기 때문에 Fiddler가 내용을 캡처 한다할지라도 볼 수 없음
SSL은 80이 아닌 별도 포트를 사용하기 때문에 80포트를 캡처하는 Fiddler는
SSL 연결하는 Request만 캡처
HTTPS capture 옵션 활성화 시켜서 패킷 캡쳐 방법 소개 (실행 예제 okjsp.pe.kr )
HTTP 프로토콜은 HTTP 압축이란 용어를 사용하지 않음
Content-Coding 이란 용어를 쓰며 이 Content-Coding이 주로 압축의 용도로 사용된다고 명시
Accept-Encoding 헤더와 Content-Encoding 헤더
이 두개의 HTTP 헤더 값을 통해 클라이언트(웹 브라우저)와 서버(웹 서버)가 압축을
할 것인가 말 것인가 그리고 압축에 사용되는 알고리즘을 결정
Accept-Encoding은 클라이언트가 웹 서버에게 보내는 HTTP Request 메시지에 명세 하는 값으로서
클라이언트가 이 헤더에 명시된 인코딩(압축)을 이해하고 디코딩(압축 해제)을 수행할 수 있다는 것을 서버에 알림
클라이언트가 압축된 컨텐츠를 받아 압축을 해제할 수 있는 압축 알고리즘을
서버에 알리는 용도로 Accept-Encoding 헤더가 사용(Accept-Encoding: gzip, deflate)
웹 서버는 Accept-Encoding의 값을 살펴보고 필요에 따라서 HTTP Response(HTML, CSS, 이미지 등의 결과물)를 압축
웹 서버가 HTTP Response를 압축했다면 서버는 결과가 어떤 알고리즘에 의해 인코딩(압축) 되었는가를
Content-Encoding 헤더를 통해 명시
Content-Encoding 이 존재 할경우 사이트가 반환하는 실제 컨텐츠(TextView 버튼을 클릭)는 HTML 이 아닌 바이너리
브라우저가 압축을 풀고 그 결과를 표시
*실습하기
Composer(request builder) 를 통해서 Accept-Encoding 속성 여부에 따른 결과값 확인 (실행 예제 www.naver.com)
동일 호스트에 대해 최대 2개까지의 TCP 연결 만을 맺도록 기본 설정되어 있다
IE가 HTTP 액세스 할 때 사용되는 WinInet 역시 동일한 제약
WinInet(Firefox 는 이기능을 사용치 않음)
WinInet은 Windows Internet 이란 이름의 클라이언트용 인터넷 액세스 API 집합
XMLHttp 객체(MSXML2.XMLHttp) 역시 WinInet API를 사용하고 있음
한 서버에 2개 혹은 4개의 TCP 연결만을 허용한다는 점이다.
HTTP 1.1 프로토콜의 경우에 2개의 연결을, HTTP 1.0 의 경우에 4개의 연결만 지원
WinHTTP
WinHTTP는 WinInet과는 달리 오로지 HTTP 프로토콜만을 지원하는 클라이언트용 API